home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 March / PCWorld_2007-03_cd.bin / domacnost a kancelar / scribus / scribus-1.3.3.7-win32-install.exe / lib / test / decimaltestdata / divide.decTest < prev    next >
Text File  |  2004-08-23  |  37KB  |  819 lines

  1. ------------------------------------------------------------------------
  2. -- divide.decTest -- decimal division                                 --
  3. -- Copyright (c) IBM Corporation, 1981, 2004.  All rights reserved.   --
  4. ------------------------------------------------------------------------
  5. -- Please see the document "General Decimal Arithmetic Testcases"     --
  6. -- at http://www2.hursley.ibm.com/decimal for the description of      --
  7. -- these testcases.                                                   --
  8. --                                                                    --
  9. -- These testcases are experimental ('beta' versions), and they       --
  10. -- may contain errors.  They are offered on an as-is basis.  In       --
  11. -- particular, achieving the same results as the tests here is not    --
  12. -- a guarantee that an implementation complies with any Standard      --
  13. -- or specification.  The tests are not exhaustive.                   --
  14. --                                                                    --
  15. -- Please send comments, suggestions, and corrections to the author:  --
  16. --   Mike Cowlishaw, IBM Fellow                                       --
  17. --   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
  18. --   mfc@uk.ibm.com                                                   --
  19. ------------------------------------------------------------------------
  20. version: 2.39
  21.  
  22. extended:    1
  23. precision:   9
  24. rounding:    half_up
  25. maxExponent: 384
  26. minexponent: -383
  27.  
  28. -- sanity checks
  29. divx001 divide  1     1    ->  1
  30. divx002 divide  2     1    ->  2
  31. divx003 divide  1     2    ->  0.5
  32. divx004 divide  2     2    ->  1
  33. divx005 divide  0     1    ->  0
  34. divx006 divide  0     2    ->  0
  35. divx007 divide  1     3    ->  0.333333333 Inexact Rounded
  36. divx008 divide  2     3    ->  0.666666667 Inexact Rounded
  37. divx009 divide  3     3    ->  1
  38.  
  39. divx010 divide  2.4   1    ->  2.4
  40. divx011 divide  2.4   -1   ->  -2.4
  41. divx012 divide  -2.4  1    ->  -2.4
  42. divx013 divide  -2.4  -1   ->  2.4
  43. divx014 divide  2.40  1    ->  2.40
  44. divx015 divide  2.400 1    ->  2.400
  45. divx016 divide  2.4   2    ->  1.2
  46. divx017 divide  2.400 2    ->  1.200
  47. divx018 divide  2.    2    ->  1
  48. divx019 divide  20    20   ->  1
  49.  
  50. divx020 divide  187   187  ->  1
  51. divx021 divide  5     2    ->  2.5
  52. divx022 divide  5     2.0    ->  2.5
  53. divx023 divide  5     2.000  ->  2.5
  54. divx024 divide  5     0.20   ->  25
  55. divx025 divide  5     0.200  ->  25
  56. divx026 divide  10    1      ->  10
  57. divx027 divide  100   1      ->  100
  58. divx028 divide  1000  1      ->  1000
  59. divx029 divide  1000  100    ->  10
  60.  
  61. divx030 divide  1     2      ->  0.5
  62. divx031 divide  1     4      ->  0.25
  63. divx032 divide  1     8      ->  0.125
  64. divx033 divide  1     16     ->  0.0625
  65. divx034 divide  1     32     ->  0.03125
  66. divx035 divide  1     64     ->  0.015625
  67. divx040 divide  1    -2      ->  -0.5
  68. divx041 divide  1    -4      ->  -0.25
  69. divx042 divide  1    -8      ->  -0.125
  70. divx043 divide  1    -16     ->  -0.0625
  71. divx044 divide  1    -32     ->  -0.03125
  72. divx045 divide  1    -64     ->  -0.015625
  73. divx050 divide -1     2      ->  -0.5
  74. divx051 divide -1     4      ->  -0.25
  75. divx052 divide -1     8      ->  -0.125
  76. divx053 divide -1     16     ->  -0.0625
  77. divx054 divide -1     32     ->  -0.03125
  78. divx055 divide -1     64     ->  -0.015625
  79. divx060 divide -1    -2      ->  0.5
  80. divx061 divide -1    -4      ->  0.25
  81. divx062 divide -1    -8      ->  0.125
  82. divx063 divide -1    -16     ->  0.0625
  83. divx064 divide -1    -32     ->  0.03125
  84. divx065 divide -1    -64     ->  0.015625
  85.  
  86. divx070 divide  999999999        1    ->  999999999
  87. divx071 divide  999999999.4      1    ->  999999999 Inexact Rounded
  88. divx072 divide  999999999.5      1    ->  1.00000000E+9 Inexact Rounded
  89. divx073 divide  999999999.9      1    ->  1.00000000E+9 Inexact Rounded
  90. divx074 divide  999999999.999    1    ->  1.00000000E+9 Inexact Rounded
  91. precision: 6
  92. divx080 divide  999999999     1  ->  1.00000E+9 Inexact Rounded
  93. divx081 divide  99999999      1  ->  1.00000E+8 Inexact Rounded
  94. divx082 divide  9999999       1  ->  1.00000E+7 Inexact Rounded
  95. divx083 divide  999999        1  ->  999999
  96. divx084 divide  99999         1  ->  99999
  97. divx085 divide  9999          1  ->  9999
  98. divx086 divide  999           1  ->  999
  99. divx087 divide  99            1  ->  99
  100. divx088 divide  9             1  ->  9
  101.  
  102. precision: 9
  103. divx090 divide  0.            1    ->  0
  104. divx091 divide  .0            1    ->  0.0
  105. divx092 divide  0.00          1    ->  0.00
  106. divx093 divide  0.00E+9       1    ->  0E+7
  107. divx094 divide  0.0000E-50    1    ->  0E-54
  108.  
  109. divx095 divide  1            1E-8  ->  1E+8
  110. divx096 divide  1            1E-9  ->  1E+9
  111. divx097 divide  1            1E-10 ->  1E+10
  112. divx098 divide  1            1E-11 ->  1E+11
  113. divx099 divide  1            1E-12 ->  1E+12
  114.  
  115. divx100 divide  1  1   -> 1
  116. divx101 divide  1  2   -> 0.5
  117. divx102 divide  1  3   -> 0.333333333 Inexact Rounded
  118. divx103 divide  1  4   -> 0.25
  119. divx104 divide  1  5   -> 0.2
  120. divx105 divide  1  6   -> 0.166666667 Inexact Rounded
  121. divx106 divide  1  7   -> 0.142857143 Inexact Rounded
  122. divx107 divide  1  8   -> 0.125
  123. divx108 divide  1  9   -> 0.111111111 Inexact Rounded
  124. divx109 divide  1  10  -> 0.1
  125. divx110 divide  1  1   -> 1
  126. divx111 divide  2  1   -> 2
  127. divx112 divide  3  1   -> 3
  128. divx113 divide  4  1   -> 4
  129. divx114 divide  5  1   -> 5
  130. divx115 divide  6  1   -> 6
  131. divx116 divide  7  1   -> 7
  132. divx117 divide  8  1   -> 8
  133. divx118 divide  9  1   -> 9
  134. divx119 divide  10 1   -> 10
  135.  
  136. divx120 divide  3E+1 0.001  -> 3E+4
  137. divx121 divide  2.200 2     -> 1.100
  138.  
  139. divx130 divide  12345  4.999  ->  2469.49390 Inexact Rounded
  140. divx131 divide  12345  4.99   ->  2473.94790 Inexact Rounded
  141. divx132 divide  12345  4.9    ->  2519.38776 Inexact Rounded
  142. divx133 divide  12345  5      ->  2469
  143. divx134 divide  12345  5.1    ->  2420.58824 Inexact Rounded
  144. divx135 divide  12345  5.01   ->  2464.07186 Inexact Rounded
  145. divx136 divide  12345  5.001  ->  2468.50630 Inexact Rounded
  146.  
  147. precision:   9
  148. maxexponent: 999999999
  149. minexponent: -999999999
  150.  
  151. -- test possibly imprecise results
  152. divx220 divide 391   597 ->  0.654941374 Inexact Rounded
  153. divx221 divide 391  -597 -> -0.654941374 Inexact Rounded
  154. divx222 divide -391  597 -> -0.654941374 Inexact Rounded
  155. divx223 divide -391 -597 ->  0.654941374 Inexact Rounded
  156.  
  157. -- test some cases that are close to exponent overflow
  158. maxexponent: 999999999
  159. minexponent: -999999999
  160. divx270 divide 1 1e999999999    -> 1E-999999999
  161. divx271 divide 1 0.9e999999999  -> 1.11111111E-999999999 Inexact Rounded
  162. divx272 divide 1 0.99e999999999 -> 1.01010101E-999999999 Inexact Rounded
  163. divx273 divide 1 0.999999999e999999999 -> 1.00000000E-999999999 Inexact Rounded
  164. divx274 divide 9e999999999    1 -> 9E+999999999
  165. divx275 divide 9.9e999999999  1 -> 9.9E+999999999
  166. divx276 divide 9.99e999999999 1 -> 9.99E+999999999
  167. divx277 divide 9.99999999e999999999 1 -> 9.99999999E+999999999
  168.  
  169. divx280 divide 0.1 9e-999999999   -> 1.11111111E+999999997 Inexact Rounded
  170. divx281 divide 0.1 99e-999999999  -> 1.01010101E+999999996 Inexact Rounded
  171. divx282 divide 0.1 999e-999999999 -> 1.00100100E+999999995 Inexact Rounded
  172.  
  173. divx283 divide 0.1 9e-999999998     -> 1.11111111E+999999996 Inexact Rounded
  174. divx284 divide 0.1 99e-999999998    -> 1.01010101E+999999995 Inexact Rounded
  175. divx285 divide 0.1 999e-999999998   -> 1.00100100E+999999994 Inexact Rounded
  176. divx286 divide 0.1 999e-999999997   -> 1.00100100E+999999993 Inexact Rounded
  177. divx287 divide 0.1 9999e-999999997  -> 1.00010001E+999999992 Inexact Rounded
  178. divx288 divide 0.1 99999e-999999997 -> 1.00001000E+999999991 Inexact Rounded
  179.  
  180. -- Divide into 0 tests
  181.  
  182. divx301 divide    0    7     -> 0
  183. divx302 divide    0    7E-5  -> 0E+5
  184. divx303 divide    0    7E-1  -> 0E+1
  185. divx304 divide    0    7E+1  -> 0.0
  186. divx305 divide    0    7E+5  -> 0.00000
  187. divx306 divide    0    7E+6  -> 0.000000
  188. divx307 divide    0    7E+7  -> 0E-7
  189. divx308 divide    0   70E-5  -> 0E+5
  190. divx309 divide    0   70E-1  -> 0E+1
  191. divx310 divide    0   70E+0  -> 0
  192. divx311 divide    0   70E+1  -> 0.0
  193. divx312 divide    0   70E+5  -> 0.00000
  194. divx313 divide    0   70E+6  -> 0.000000
  195. divx314 divide    0   70E+7  -> 0E-7
  196. divx315 divide    0  700E-5  -> 0E+5
  197. divx316 divide    0  700E-1  -> 0E+1
  198. divx317 divide    0  700E+0  -> 0
  199. divx318 divide    0  700E+1  -> 0.0
  200. divx319 divide    0  700E+5  -> 0.00000
  201. divx320 divide    0  700E+6  -> 0.000000
  202. divx321 divide    0  700E+7  -> 0E-7
  203. divx322 divide    0  700E+77 -> 0E-77
  204.  
  205. divx331 divide 0E-3    7E-5  -> 0E+2
  206. divx332 divide 0E-3    7E-1  -> 0.00
  207. divx333 divide 0E-3    7E+1  -> 0.0000
  208. divx334 divide 0E-3    7E+5  -> 0E-8
  209. divx335 divide 0E-1    7E-5  -> 0E+4
  210. divx336 divide 0E-1    7E-1  -> 0
  211. divx337 divide 0E-1    7E+1  -> 0.00
  212. divx338 divide 0E-1    7E+5  -> 0.000000
  213. divx339 divide 0E+1    7E-5  -> 0E+6
  214. divx340 divide 0E+1    7E-1  -> 0E+2
  215. divx341 divide 0E+1    7E+1  -> 0
  216. divx342 divide 0E+1    7E+5  -> 0.0000
  217. divx343 divide 0E+3    7E-5  -> 0E+8
  218. divx344 divide 0E+3    7E-1  -> 0E+4
  219. divx345 divide 0E+3    7E+1  -> 0E+2
  220. divx346 divide 0E+3    7E+5  -> 0.00
  221.  
  222. maxexponent: 92
  223. minexponent: -92
  224. precision:    7
  225. divx351 divide 0E-92   7E-1  -> 0E-91
  226. divx352 divide 0E-92   7E+1  -> 0E-93
  227. divx353 divide 0E-92   7E+5  -> 0E-97
  228. divx354 divide 0E-92   7E+6  -> 0E-98
  229. divx355 divide 0E-92   7E+7  -> 0E-98 Clamped
  230. divx356 divide 0E-92 777E-1  -> 0E-91
  231. divx357 divide 0E-92 777E+1  -> 0E-93
  232. divx358 divide 0E-92 777E+3  -> 0E-95
  233. divx359 divide 0E-92 777E+4  -> 0E-96
  234. divx360 divide 0E-92 777E+5  -> 0E-97
  235. divx361 divide 0E-92 777E+6  -> 0E-98
  236. divx362 divide 0E-92 777E+7  -> 0E-98 Clamped
  237. divx363 divide 0E-92   7E+92 -> 0E-98 Clamped
  238.  
  239. divx371 divide 0E-92 700E-1  -> 0E-91
  240. divx372 divide 0E-92 700E+1  -> 0E-93
  241. divx373 divide 0E-92 700E+3  -> 0E-95
  242. divx374 divide 0E-92 700E+4  -> 0E-96
  243. divx375 divide 0E-92 700E+5  -> 0E-97
  244. divx376 divide 0E-92 700E+6  -> 0E-98
  245. divx377 divide 0E-92 700E+7  -> 0E-98 Clamped
  246.  
  247. divx381 divide 0E+92   7E+1  -> 0E+91
  248. divx382 divide 0E+92   7E+0  -> 0E+92
  249. divx383 divide 0E+92   7E-1  -> 0E+92 Clamped
  250. divx384 divide 0E+90 777E+1  -> 0E+89
  251. divx385 divide 0E+90 777E-1  -> 0E+91
  252. divx386 divide 0E+90 777E-2  -> 0E+92
  253. divx387 divide 0E+90 777E-3  -> 0E+92 Clamped
  254. divx388 divide 0E+90 777E-4  -> 0E+92 Clamped
  255.  
  256. divx391 divide 0E+90 700E+1  -> 0E+89
  257. divx392 divide 0E+90 700E-1  -> 0E+91
  258. divx393 divide 0E+90 700E-2  -> 0E+92
  259. divx394 divide 0E+90 700E-3  -> 0E+92 Clamped
  260. divx395 divide 0E+90 700E-4  -> 0E+92 Clamped
  261.  
  262. -- input rounding checks
  263. maxexponent: 999
  264. minexponent: -999
  265. precision: 9
  266. divx401 divide 12345678000 1 -> 1.23456780E+10 Rounded
  267. divx402 divide 1 12345678000 -> 8.10000066E-11 Inexact Rounded
  268. divx403 divide 1234567800  1 -> 1.23456780E+9  Rounded
  269. divx404 divide 1 1234567800  -> 8.10000066E-10 Inexact Rounded
  270. divx405 divide 1234567890  1 -> 1.23456789E+9  Rounded
  271. divx406 divide 1 1234567890  -> 8.10000007E-10 Inexact Rounded
  272. divx407 divide 1234567891  1 -> 1.23456789E+9  Inexact Rounded
  273. divx408 divide 1 1234567891  -> 8.10000007E-10 Inexact Rounded
  274. divx409 divide 12345678901 1 -> 1.23456789E+10 Inexact Rounded
  275. divx410 divide 1 12345678901 -> 8.10000007E-11 Inexact Rounded
  276. divx411 divide 1234567896  1 -> 1.23456790E+9  Inexact Rounded
  277. divx412 divide 1 1234567896  -> 8.10000003E-10 Inexact Rounded
  278. divx413 divide 1 1234567897  -> 8.10000003E-10 Inexact Rounded
  279. divx414 divide 1 1234567898  -> 8.10000002E-10 Inexact Rounded
  280. divx415 divide 1 1234567899  -> 8.10000001E-10 Inexact Rounded
  281. divx416 divide 1 1234567900  -> 8.10000001E-10 Inexact Rounded
  282. divx417 divide 1 1234567901  -> 8.10000000E-10 Inexact Rounded
  283. divx418 divide 1 1234567902  -> 8.09999999E-10 Inexact Rounded
  284. -- some longies
  285. divx421 divide 1234567896.000000000000  1 -> 1.23456790E+9  Inexact Rounded
  286. divx422 divide 1 1234567896.000000000000  -> 8.10000003E-10 Inexact Rounded
  287. divx423 divide 1234567896.000000000001  1 -> 1.23456790E+9  Inexact Rounded
  288. divx424 divide 1 1234567896.000000000001  -> 8.10000003E-10 Inexact Rounded
  289. divx425 divide 1234567896.000000000000000000000000000000000000000009  1 -> 1.23456790E+9  Inexact Rounded
  290. divx426 divide 1 1234567896.000000000000000000000000000000000000000009  -> 8.10000003E-10 Inexact Rounded
  291. divx427 divide 1234567897.900010000000000000000000000000000000000009  1 -> 1.23456790E+9  Inexact Rounded
  292. divx428 divide 1 1234567897.900010000000000000000000000000000000000009  -> 8.10000002E-10 Inexact Rounded
  293.  
  294. precision: 15
  295. -- still checking...
  296. divx441 divide 12345678000 1 -> 12345678000
  297. divx442 divide 1 12345678000 -> 8.10000066420005E-11 Inexact Rounded
  298. divx443 divide 1234567800  1 -> 1234567800
  299. divx444 divide 1 1234567800  -> 8.10000066420005E-10 Inexact Rounded
  300. divx445 divide 1234567890  1 -> 1234567890
  301. divx446 divide 1 1234567890  -> 8.10000007371000E-10 Inexact Rounded
  302. divx447 divide 1234567891  1 -> 1234567891
  303. divx448 divide 1 1234567891  -> 8.10000006714900E-10 Inexact Rounded
  304. divx449 divide 12345678901 1 -> 12345678901
  305. divx450 divide 1 12345678901 -> 8.10000007305390E-11 Inexact Rounded
  306. divx451 divide 1234567896  1 -> 1234567896
  307. divx452 divide 1 1234567896  -> 8.10000003434400E-10 Inexact Rounded
  308.  
  309. -- high-lows
  310. divx453 divide 1e+1   1    ->   1E+1
  311. divx454 divide 1e+1   1.0  ->   1E+1
  312. divx455 divide 1e+1   1.00 ->   1E+1
  313. divx456 divide 1e+2   2    ->   5E+1
  314. divx457 divide 1e+2   2.0  ->   5E+1
  315. divx458 divide 1e+2   2.00 ->   5E+1
  316.  
  317. -- some from IEEE discussions
  318. divx460 divide 3e0      2e0     -> 1.5
  319. divx461 divide 30e-1    2e0     -> 1.5
  320. divx462 divide 300e-2   2e0     -> 1.50
  321. divx464 divide 3000e-3  2e0     -> 1.500
  322. divx465 divide 3e0      20e-1   -> 1.5
  323. divx466 divide 30e-1    20e-1   -> 1.5
  324. divx467 divide 300e-2   20e-1   -> 1.5
  325. divx468 divide 3000e-3  20e-1   -> 1.50
  326. divx469 divide 3e0      200e-2  -> 1.5
  327. divx470 divide 30e-1    200e-2  -> 1.5
  328. divx471 divide 300e-2   200e-2  -> 1.5
  329. divx472 divide 3000e-3  200e-2  -> 1.5
  330. divx473 divide 3e0      2000e-3 -> 1.5
  331. divx474 divide 30e-1    2000e-3 -> 1.5
  332. divx475 divide 300e-2   2000e-3 -> 1.5
  333. divx476 divide 3000e-3  2000e-3 -> 1.5
  334.  
  335. -- some reciprocals
  336. divx480 divide 1        1.0E+33 -> 1E-33
  337. divx481 divide 1        10E+33  -> 1E-34
  338. divx482 divide 1        1.0E-33 -> 1E+33
  339. divx483 divide 1        10E-33  -> 1E+32
  340.  
  341. -- RMS discussion table
  342. maxexponent:  96
  343. minexponent: -95
  344. precision:     7
  345.  
  346. divx484 divide 0e5     1e3 ->   0E+2
  347. divx485 divide 0e5     2e3 ->   0E+2
  348. divx486 divide 0e5    10e2 ->   0E+3
  349. divx487 divide 0e5    20e2 ->   0E+3
  350. divx488 divide 0e5   100e1 ->   0E+4
  351. divx489 divide 0e5   200e1 ->   0E+4
  352.  
  353. divx491 divide 1e5     1e3 ->   1E+2
  354. divx492 divide 1e5     2e3 ->   5E+1
  355. divx493 divide 1e5    10e2 ->   1E+2
  356. divx494 divide 1e5    20e2 ->   5E+1
  357. divx495 divide 1e5   100e1 ->   1E+2
  358. divx496 divide 1e5   200e1 ->   5E+1
  359.  
  360. -- tryzeros cases
  361. precision:   7
  362. rounding:    half_up
  363. maxExponent: 92
  364. minexponent: -92
  365. divx497  divide  0E+86 1000E-13  -> 0E+92 Clamped
  366. divx498  divide  0E-98 1000E+13  -> 0E-98 Clamped
  367.  
  368. precision:   9
  369. rounding:    half_up
  370. maxExponent: 999
  371. minexponent: -999
  372.  
  373. -- focus on trailing zeros issues
  374. precision:   9
  375. divx500 divide  1      9.9    ->  0.101010101  Inexact Rounded
  376. precision:   8
  377. divx501 divide  1      9.9    ->  0.10101010   Inexact Rounded
  378. precision:   7
  379. divx502 divide  1      9.9    ->  0.1010101    Inexact Rounded
  380. precision:   6
  381. divx503 divide  1      9.9    ->  0.101010     Inexact Rounded
  382. precision:   9
  383.  
  384. divx511 divide 1         2    -> 0.5
  385. divx512 divide 1.0       2    -> 0.5
  386. divx513 divide 1.00      2    -> 0.50
  387. divx514 divide 1.000     2    -> 0.500
  388. divx515 divide 1.0000    2    -> 0.5000
  389. divx516 divide 1.00000   2    -> 0.50000
  390. divx517 divide 1.000000  2    -> 0.500000
  391. divx518 divide 1.0000000 2    -> 0.5000000
  392. divx519 divide 1.00      2.00 -> 0.5
  393.  
  394. divx521 divide 2    1         -> 2
  395. divx522 divide 2    1.0       -> 2
  396. divx523 divide 2    1.00      -> 2
  397. divx524 divide 2    1.000     -> 2
  398. divx525 divide 2    1.0000    -> 2
  399. divx526 divide 2    1.00000   -> 2
  400. divx527 divide 2    1.000000  -> 2
  401. divx528 divide 2    1.0000000 -> 2
  402. divx529 divide 2.00 1.00      -> 2
  403.  
  404. divx530 divide  2.40   2      ->  1.20
  405. divx531 divide  2.40   4      ->  0.60
  406. divx532 divide  2.40  10      ->  0.24
  407. divx533 divide  2.40   2.0    ->  1.2
  408. divx534 divide  2.40   4.0    ->  0.6
  409. divx535 divide  2.40  10.0    ->  0.24
  410. divx536 divide  2.40   2.00   ->  1.2
  411. divx537 divide  2.40   4.00   ->  0.6
  412. divx538 divide  2.40  10.00   ->  0.24
  413. divx539 divide  0.9    0.1    ->  9
  414. divx540 divide  0.9    0.01   ->  9E+1
  415. divx541 divide  0.9    0.001  ->  9E+2
  416. divx542 divide  5      2      ->  2.5
  417. divx543 divide  5      2.0    ->  2.5
  418. divx544 divide  5      2.00   ->  2.5
  419. divx545 divide  5      20     ->  0.25
  420. divx546 divide  5      20.0   ->  0.25
  421. divx547 divide  2.400  2      ->  1.200
  422. divx548 divide  2.400  2.0    ->  1.20
  423. divx549 divide  2.400  2.400  ->  1
  424.  
  425. divx550 divide  240    1      ->  240
  426. divx551 divide  240    10     ->  24
  427. divx552 divide  240    100    ->  2.4
  428. divx553 divide  240    1000   ->  0.24
  429. divx554 divide  2400   1      ->  2400
  430. divx555 divide  2400   10     ->  240
  431. divx556 divide  2400   100    ->  24
  432. divx557 divide  2400   1000   ->  2.4
  433.  
  434. -- +ve exponent
  435. precision: 5
  436. divx570 divide  2.4E+6     2  ->  1.2E+6
  437. divx571 divide  2.40E+6    2  ->  1.20E+6
  438. divx572 divide  2.400E+6   2  ->  1.200E+6
  439. divx573 divide  2.4000E+6  2  ->  1.2000E+6
  440. divx574 divide  24E+5      2  ->  1.2E+6
  441. divx575 divide  240E+4     2  ->  1.20E+6
  442. divx576 divide  2400E+3    2  ->  1.200E+6
  443. divx577 divide  24000E+2   2  ->  1.2000E+6
  444. precision: 6
  445. divx580 divide  2.4E+6     2  ->  1.2E+6
  446. divx581 divide  2.40E+6    2  ->  1.20E+6
  447. divx582 divide  2.400E+6   2  ->  1.200E+6
  448. divx583 divide  2.4000E+6  2  ->  1.2000E+6
  449. divx584 divide  24E+5      2  ->  1.2E+6
  450. divx585 divide  240E+4     2  ->  1.20E+6
  451. divx586 divide  2400E+3    2  ->  1.200E+6
  452. divx587 divide  24000E+2   2  ->  1.2000E+6
  453. precision: 7
  454. divx590 divide  2.4E+6     2  ->  1.2E+6
  455. divx591 divide  2.40E+6    2  ->  1.20E+6
  456. divx592 divide  2.400E+6   2  ->  1.200E+6
  457. divx593 divide  2.4000E+6  2  ->  1.2000E+6
  458. divx594 divide  24E+5      2  ->  1.2E+6
  459. divx595 divide  240E+4     2  ->  1.20E+6
  460. divx596 divide  2400E+3    2  ->  1.200E+6
  461. divx597 divide  24000E+2   2  ->  1.2000E+6
  462. precision:   9
  463. divx600 divide  2.4E+9     2  ->  1.2E+9
  464. divx601 divide  2.40E+9    2  ->  1.20E+9
  465. divx602 divide  2.400E+9   2  ->  1.200E+9
  466. divx603 divide  2.4000E+9  2  ->  1.2000E+9
  467. divx604 divide  24E+8      2  ->  1.2E+9
  468. divx605 divide  240E+7     2  ->  1.20E+9
  469. divx606 divide  2400E+6    2  ->  1.200E+9
  470. divx607 divide  24000E+5   2  ->  1.2000E+9
  471.  
  472. -- long operand triangle
  473. precision: 33
  474. divx610 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131097703792 Inexact Rounded
  475. precision: 32
  476. divx611 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813109770379  Inexact Rounded
  477. precision: 31
  478. divx612 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81310977038   Inexact Rounded
  479. precision: 30
  480. divx613 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131097704    Inexact Rounded
  481. precision: 29
  482. divx614 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813109770     Inexact Rounded
  483. precision: 28
  484. divx615 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81310977      Inexact Rounded
  485. precision: 27
  486. divx616 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131098       Inexact Rounded
  487. precision: 26
  488. divx617 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813110        Inexact Rounded
  489. precision: 25
  490. divx618 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81311         Inexact Rounded
  491. precision: 24
  492. divx619 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131          Inexact Rounded
  493. precision: 23
  494. divx620 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813           Inexact Rounded
  495. precision: 22
  496. divx621 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81            Inexact Rounded
  497. precision: 21
  498. divx622 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8             Inexact Rounded
  499. precision: 20
  500. divx623 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817798               Inexact Rounded
  501. precision: 19
  502. divx624 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888379681780E+19         Inexact Rounded
  503. precision: 18
  504. divx625 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088837968178E+19         Inexact Rounded
  505. precision: 17
  506. divx626 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408883796818E+19         Inexact Rounded
  507. precision: 16
  508. divx627 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888379682E+19         Inexact Rounded
  509. precision: 15
  510. divx628 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088837968E+19         Inexact Rounded
  511. precision: 14
  512. divx629 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408883797E+19         Inexact Rounded
  513. precision: 13
  514. divx630 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888380E+19         Inexact Rounded
  515. precision: 12
  516. divx631 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088838E+19         Inexact Rounded
  517. precision: 11
  518. divx632 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408884E+19         Inexact Rounded
  519. precision: 10
  520. divx633 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888E+19         Inexact Rounded
  521. precision:  9
  522. divx634 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114089E+19         Inexact Rounded
  523. precision:  8
  524. divx635 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011409E+19         Inexact Rounded
  525. precision:  7
  526. divx636 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101141E+19         Inexact Rounded
  527. precision:  6
  528. divx637 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114E+19         Inexact Rounded
  529. precision:  5
  530. divx638 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011E+19         Inexact Rounded
  531. precision:  4
  532. divx639 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101E+19         Inexact Rounded
  533. precision:  3
  534. divx640 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10E+19         Inexact Rounded
  535. precision:  2
  536. divx641 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1E+19         Inexact Rounded
  537. precision:  1
  538. divx642 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4E+19         Inexact Rounded
  539.  
  540. -- more zeros, etc.
  541. precision:   16
  542. rounding:    half_up
  543. maxExponent: 384
  544. minExponent: -383
  545.  
  546. divx731 divide 5.00 1E-3    -> 5.00E+3
  547. divx732 divide 00.00 0.000  -> NaN Division_undefined
  548. divx733 divide 00.00 0E-3   -> NaN Division_undefined
  549. divx734 divide  0    -0     -> NaN Division_undefined
  550. divx735 divide -0     0     -> NaN Division_undefined
  551. divx736 divide -0    -0     -> NaN Division_undefined
  552.  
  553. divx741 divide  0    -1     -> -0
  554. divx742 divide -0    -1     ->  0
  555. divx743 divide  0     1     ->  0
  556. divx744 divide -0     1     -> -0
  557. divx745 divide -1     0     -> -Infinity Division_by_zero
  558. divx746 divide -1    -0     ->  Infinity Division_by_zero
  559. divx747 divide  1     0     ->  Infinity Division_by_zero
  560. divx748 divide  1    -0     -> -Infinity Division_by_zero
  561.  
  562. divx751 divide  0.0  -1     -> -0.0
  563. divx752 divide -0.0  -1     ->  0.0
  564. divx753 divide  0.0   1     ->  0.0
  565. divx754 divide -0.0   1     -> -0.0
  566. divx755 divide -1.0   0     -> -Infinity Division_by_zero
  567. divx756 divide -1.0  -0     ->  Infinity Division_by_zero
  568. divx757 divide  1.0   0     ->  Infinity Division_by_zero
  569. divx758 divide  1.0  -0     -> -Infinity Division_by_zero
  570.  
  571. divx761 divide  0    -1.0   -> -0E+1
  572. divx762 divide -0    -1.0   ->  0E+1
  573. divx763 divide  0     1.0   ->  0E+1
  574. divx764 divide -0     1.0   -> -0E+1
  575. divx765 divide -1     0.0   -> -Infinity Division_by_zero
  576. divx766 divide -1    -0.0   ->  Infinity Division_by_zero
  577. divx767 divide  1     0.0   ->  Infinity Division_by_zero
  578. divx768 divide  1    -0.0   -> -Infinity Division_by_zero
  579.  
  580. divx771 divide  0.0  -1.0   -> -0
  581. divx772 divide -0.0  -1.0   ->  0
  582. divx773 divide  0.0   1.0   ->  0
  583. divx774 divide -0.0   1.0   -> -0
  584. divx775 divide -1.0   0.0   -> -Infinity Division_by_zero
  585. divx776 divide -1.0  -0.0   ->  Infinity Division_by_zero
  586. divx777 divide  1.0   0.0   ->  Infinity Division_by_zero
  587. divx778 divide  1.0  -0.0   -> -Infinity Division_by_zero
  588.  
  589. -- Specials
  590. divx780 divide  Inf  -Inf   ->  NaN Invalid_operation
  591. divx781 divide  Inf  -1000  -> -Infinity
  592. divx782 divide  Inf  -1     -> -Infinity
  593. divx783 divide  Inf  -0     -> -Infinity
  594. divx784 divide  Inf   0     ->  Infinity
  595. divx785 divide  Inf   1     ->  Infinity
  596. divx786 divide  Inf   1000  ->  Infinity
  597. divx787 divide  Inf   Inf   ->  NaN Invalid_operation
  598. divx788 divide -1000  Inf   -> -0E-398 Clamped
  599. divx789 divide -Inf   Inf   ->  NaN Invalid_operation
  600. divx790 divide -1     Inf   -> -0E-398 Clamped
  601. divx791 divide -0     Inf   -> -0E-398 Clamped
  602. divx792 divide  0     Inf   ->  0E-398 Clamped
  603. divx793 divide  1     Inf   ->  0E-398 Clamped
  604. divx794 divide  1000  Inf   ->  0E-398 Clamped
  605. divx795 divide  Inf   Inf   ->  NaN Invalid_operation
  606.  
  607. divx800 divide -Inf  -Inf   ->  NaN Invalid_operation
  608. divx801 divide -Inf  -1000  ->  Infinity
  609. divx802 divide -Inf  -1     ->  Infinity
  610. divx803 divide -Inf  -0     ->  Infinity
  611. divx804 divide -Inf   0     -> -Infinity
  612. divx805 divide -Inf   1     -> -Infinity
  613. divx806 divide -Inf   1000  -> -Infinity
  614. divx807 divide -Inf   Inf   ->  NaN Invalid_operation
  615. divx808 divide -1000  Inf   -> -0E-398 Clamped
  616. divx809 divide -Inf  -Inf   ->  NaN Invalid_operation
  617. divx810 divide -1    -Inf   ->  0E-398 Clamped
  618. divx811 divide -0    -Inf   ->  0E-398 Clamped
  619. divx812 divide  0    -Inf   -> -0E-398 Clamped
  620. divx813 divide  1    -Inf   -> -0E-398 Clamped
  621. divx814 divide  1000 -Inf   -> -0E-398 Clamped
  622. divx815 divide  Inf  -Inf   ->  NaN Invalid_operation
  623.  
  624. divx821 divide  NaN -Inf    ->  NaN
  625. divx822 divide  NaN -1000   ->  NaN
  626. divx823 divide  NaN -1      ->  NaN
  627. divx824 divide  NaN -0      ->  NaN
  628. divx825 divide  NaN  0      ->  NaN
  629. divx826 divide  NaN  1      ->  NaN
  630. divx827 divide  NaN  1000   ->  NaN
  631. divx828 divide  NaN  Inf    ->  NaN
  632. divx829 divide  NaN  NaN    ->  NaN
  633. divx830 divide -Inf  NaN    ->  NaN
  634. divx831 divide -1000 NaN    ->  NaN
  635. divx832 divide -1    NaN    ->  NaN
  636. divx833 divide -0    NaN    ->  NaN
  637. divx834 divide  0    NaN    ->  NaN
  638. divx835 divide  1    NaN    ->  NaN
  639. divx836 divide  1000 NaN    ->  NaN
  640. divx837 divide  Inf  NaN    ->  NaN
  641.  
  642. divx841 divide  sNaN -Inf   ->  NaN  Invalid_operation
  643. divx842 divide  sNaN -1000  ->  NaN  Invalid_operation
  644. divx843 divide  sNaN -1     ->  NaN  Invalid_operation
  645. divx844 divide  sNaN -0     ->  NaN  Invalid_operation
  646. divx845 divide  sNaN  0     ->  NaN  Invalid_operation
  647. divx846 divide  sNaN  1     ->  NaN  Invalid_operation
  648. divx847 divide  sNaN  1000  ->  NaN  Invalid_operation
  649. divx848 divide  sNaN  NaN   ->  NaN  Invalid_operation
  650. divx849 divide  sNaN sNaN   ->  NaN  Invalid_operation
  651. divx850 divide  NaN  sNaN   ->  NaN  Invalid_operation
  652. divx851 divide -Inf  sNaN   ->  NaN  Invalid_operation
  653. divx852 divide -1000 sNaN   ->  NaN  Invalid_operation
  654. divx853 divide -1    sNaN   ->  NaN  Invalid_operation
  655. divx854 divide -0    sNaN   ->  NaN  Invalid_operation
  656. divx855 divide  0    sNaN   ->  NaN  Invalid_operation
  657. divx856 divide  1    sNaN   ->  NaN  Invalid_operation
  658. divx857 divide  1000 sNaN   ->  NaN  Invalid_operation
  659. divx858 divide  Inf  sNaN   ->  NaN  Invalid_operation
  660. divx859 divide  NaN  sNaN   ->  NaN  Invalid_operation
  661.  
  662. -- propagating NaNs
  663. divx861 divide  NaN9 -Inf   ->  NaN9
  664. divx862 divide  NaN8  1000  ->  NaN8
  665. divx863 divide  NaN7  Inf   ->  NaN7
  666. divx864 divide  NaN6  NaN5  ->  NaN6
  667. divx865 divide -Inf   NaN4  ->  NaN4
  668. divx866 divide -1000  NaN3  ->  NaN3
  669. divx867 divide  Inf   NaN2  ->  NaN2
  670.  
  671. divx871 divide  sNaN99 -Inf    ->  NaN99 Invalid_operation
  672. divx872 divide  sNaN98 -1      ->  NaN98 Invalid_operation
  673. divx873 divide  sNaN97  NaN    ->  NaN97 Invalid_operation
  674. divx874 divide  sNaN96 sNaN94  ->  NaN96 Invalid_operation
  675. divx875 divide  NaN95  sNaN93  ->  NaN93 Invalid_operation
  676. divx876 divide -Inf    sNaN92  ->  NaN92 Invalid_operation
  677. divx877 divide  0      sNaN91  ->  NaN91 Invalid_operation
  678. divx878 divide  Inf    sNaN90  ->  NaN90 Invalid_operation
  679. divx879 divide  NaN    sNaN89  ->  NaN89 Invalid_operation
  680.  
  681. divx881 divide  -NaN9  -Inf   ->  -NaN9
  682. divx882 divide  -NaN8   1000  ->  -NaN8
  683. divx883 divide  -NaN7   Inf   ->  -NaN7
  684. divx884 divide  -NaN6  -NaN5  ->  -NaN6
  685. divx885 divide  -Inf   -NaN4  ->  -NaN4
  686. divx886 divide  -1000  -NaN3  ->  -NaN3
  687. divx887 divide   Inf   -NaN2  ->  -NaN2
  688.  
  689. divx891 divide -sNaN99 -Inf    -> -NaN99 Invalid_operation
  690. divx892 divide -sNaN98 -1      -> -NaN98 Invalid_operation
  691. divx893 divide -sNaN97  NaN    -> -NaN97 Invalid_operation
  692. divx894 divide -sNaN96 -sNaN94 -> -NaN96 Invalid_operation
  693. divx895 divide -NaN95  -sNaN93 -> -NaN93 Invalid_operation
  694. divx896 divide -Inf    -sNaN92 -> -NaN92 Invalid_operation
  695. divx897 divide  0      -sNaN91 -> -NaN91 Invalid_operation
  696. divx898 divide  Inf    -sNaN90 -> -NaN90 Invalid_operation
  697. divx899 divide -NaN    -sNaN89 -> -NaN89 Invalid_operation
  698.  
  699. maxexponent: 999999999
  700. minexponent: -999999999
  701.  
  702. -- Various flavours of divide by 0
  703. divx901 divide    0       0   ->  NaN Division_undefined
  704. divx902 divide    0.0E5   0   ->  NaN Division_undefined
  705. divx903 divide    0.000   0   ->  NaN Division_undefined
  706. divx904 divide    0.0001  0   ->  Infinity Division_by_zero
  707. divx905 divide    0.01    0   ->  Infinity Division_by_zero
  708. divx906 divide    0.1     0   ->  Infinity Division_by_zero
  709. divx907 divide    1       0   ->  Infinity Division_by_zero
  710. divx908 divide    1       0.0 ->  Infinity Division_by_zero
  711. divx909 divide   10       0.0 ->  Infinity Division_by_zero
  712. divx910 divide   1E+100   0.0 ->  Infinity Division_by_zero
  713. divx911 divide   1E+1000  0   ->  Infinity Division_by_zero
  714.  
  715. divx921 divide   -0.0001  0   -> -Infinity Division_by_zero
  716. divx922 divide   -0.01    0   -> -Infinity Division_by_zero
  717. divx923 divide   -0.1     0   -> -Infinity Division_by_zero
  718. divx924 divide   -1       0   -> -Infinity Division_by_zero
  719. divx925 divide   -1       0.0 -> -Infinity Division_by_zero
  720. divx926 divide  -10       0.0 -> -Infinity Division_by_zero
  721. divx927 divide  -1E+100   0.0 -> -Infinity Division_by_zero
  722. divx928 divide  -1E+1000  0   -> -Infinity Division_by_zero
  723.  
  724. divx931 divide    0.0001 -0   -> -Infinity Division_by_zero
  725. divx932 divide    0.01   -0   -> -Infinity Division_by_zero
  726. divx933 divide    0.1    -0   -> -Infinity Division_by_zero
  727. divx934 divide    1      -0   -> -Infinity Division_by_zero
  728. divx935 divide    1      -0.0 -> -Infinity Division_by_zero
  729. divx936 divide   10      -0.0 -> -Infinity Division_by_zero
  730. divx937 divide   1E+100  -0.0 -> -Infinity Division_by_zero
  731. divx938 divide   1E+1000 -0   -> -Infinity Division_by_zero
  732.  
  733. divx941 divide   -0.0001 -0   ->  Infinity Division_by_zero
  734. divx942 divide   -0.01   -0   ->  Infinity Division_by_zero
  735. divx943 divide   -0.1    -0   ->  Infinity Division_by_zero
  736. divx944 divide   -1      -0   ->  Infinity Division_by_zero
  737. divx945 divide   -1      -0.0 ->  Infinity Division_by_zero
  738. divx946 divide  -10      -0.0 ->  Infinity Division_by_zero
  739. divx947 divide  -1E+100  -0.0 ->  Infinity Division_by_zero
  740. divx948 divide  -1E+1000 -0   ->  Infinity Division_by_zero
  741.  
  742. -- overflow and underflow tests
  743. precision: 9
  744. maxexponent: 999999999
  745. minexponent: -999999999
  746. divx951 divide 9E+999999999 +0.23456789012345E-0 -> Infinity Inexact Overflow Rounded
  747. divx952 divide +0.100 9E+999999999 -> 1.111111E-1000000001 Inexact Rounded Underflow Subnormal
  748. divx953 divide 9E-999999999 +9.100 -> 9.8901099E-1000000000 Inexact Rounded Underflow Subnormal
  749. divx954 divide -1.23456789          9E+999999999 -> -1.3717421E-1000000000 Subnormal
  750. divx955 divide -1.23456789012345E-0 9E+999999999 -> -1.3717421E-1000000000 Underflow Subnormal Rounded Inexact
  751. divx956 divide -1.23456789012345E-0 7E+999999999 -> -1.7636684E-1000000000 Inexact Rounded Underflow Subnormal
  752. divx957 divide 9E+999999999 -0.83456789012345E-0 -> -Infinity Inexact Overflow Rounded
  753. divx958 divide -0.100 9E+999999999 -> -1.111111E-1000000001 Subnormal Inexact Rounded Underflow
  754. divx959 divide 9E-999999999 -9.100 -> -9.8901099E-1000000000 Inexact Rounded Underflow Subnormal
  755.  
  756. -- overflow and underflow (additional edge tests in multiply.decTest)
  757. -- 'subnormal' results now possible (all hard underflow or overflow in
  758. -- base arithemtic)
  759. divx960 divide 1e-600000000 1e+400000001 -> 1E-1000000001 Subnormal
  760. divx961 divide 1e-600000000 1e+400000002 -> 1E-1000000002 Subnormal
  761. divx962 divide 1e-600000000 1e+400000003 -> 1E-1000000003 Subnormal
  762. divx963 divide 1e-600000000 1e+400000004 -> 1E-1000000004 Subnormal
  763. divx964 divide 1e-600000000 1e+400000005 -> 1E-1000000005 Subnormal
  764. divx965 divide 1e-600000000 1e+400000006 -> 1E-1000000006 Subnormal
  765. divx966 divide 1e-600000000 1e+400000007 -> 1E-1000000007 Subnormal
  766. divx967 divide 1e-600000000 1e+400000008 -> 0E-1000000007 Underflow Subnormal Inexact Rounded
  767. divx968 divide 1e-600000000 1e+400000009 -> 0E-1000000007 Underflow Subnormal Inexact Rounded
  768. divx969 divide 1e-600000000 1e+400000010 -> 0E-1000000007 Underflow Subnormal Inexact Rounded
  769. -- [no equivalent of 'subnormal' for overflow]
  770. divx970 divide 1e+600000000 1e-400000001 -> Infinity Overflow Inexact Rounded
  771. divx971 divide 1e+600000000 1e-400000002 -> Infinity Overflow Inexact Rounded
  772. divx972 divide 1e+600000000 1e-400000003 -> Infinity Overflow Inexact Rounded
  773. divx973 divide 1e+600000000 1e-400000004 -> Infinity Overflow Inexact Rounded
  774. divx974 divide 1e+600000000 1e-400000005 -> Infinity Overflow Inexact Rounded
  775. divx975 divide 1e+600000000 1e-400000006 -> Infinity Overflow Inexact Rounded
  776. divx976 divide 1e+600000000 1e-400000007 -> Infinity Overflow Inexact Rounded
  777. divx977 divide 1e+600000000 1e-400000008 -> Infinity Overflow Inexact Rounded
  778. divx978 divide 1e+600000000 1e-400000009 -> Infinity Overflow Inexact Rounded
  779. divx979 divide 1e+600000000 1e-400000010 -> Infinity Overflow Inexact Rounded
  780.  
  781. -- Sign after overflow and underflow
  782. divx980 divide  1e-600000000  1e+400000009 ->  0E-1000000007 Underflow Subnormal Inexact Rounded
  783. divx981 divide  1e-600000000 -1e+400000009 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
  784. divx982 divide -1e-600000000  1e+400000009 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
  785. divx983 divide -1e-600000000 -1e+400000009 ->  0E-1000000007 Underflow Subnormal Inexact Rounded
  786. divx984 divide  1e+600000000  1e-400000009 ->  Infinity Overflow Inexact Rounded
  787. divx985 divide  1e+600000000 -1e-400000009 -> -Infinity Overflow Inexact Rounded
  788. divx986 divide -1e+600000000  1e-400000009 -> -Infinity Overflow Inexact Rounded
  789. divx987 divide -1e+600000000 -1e-400000009 ->  Infinity Overflow Inexact Rounded
  790.  
  791. -- Long operand overflow may be a different path
  792. precision: 3
  793. divx990 divide 1000  9.999E-999999999      ->  Infinity Inexact Overflow Rounded
  794. divx991 divide 1000 -9.999E-999999999      -> -Infinity Inexact Overflow Rounded
  795. divx992 divide       9.999E+999999999 0.01 ->  Infinity Inexact Overflow Rounded
  796. divx993 divide      -9.999E+999999999 0.01 -> -Infinity Inexact Overflow Rounded
  797.  
  798. -- check for double-rounded subnormals
  799. precision:   5
  800. maxexponent: 79
  801. minexponent: -79
  802. divx1001 divide    1.52444E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
  803. divx1002 divide    1.52445E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
  804. divx1003 divide    1.52446E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
  805.  
  806. -- a rounding problem in one implementation
  807. precision:   34
  808. rounding:    half_up
  809. maxExponent: 6144
  810. minExponent: -6143
  811. -- Unbounded answer to 40 digits:
  812. --   1.465811965811965811965811965811965811966E+7000
  813. divx1010 divide 343E6000  234E-1000 -> Infinity Overflow Inexact Rounded
  814.  
  815. -- Null tests
  816. divx9998 divide 10  # -> NaN Invalid_operation
  817. divx9999 divide  # 10 -> NaN Invalid_operation
  818.  
  819.